
 1000  *---------------------------------
 1010  *      PADDLE JITTER SMOOTHER
 1020  *
 1030  *      POKE 768,<PADDLE NUMBER>   0, 1, 2, OR 3
 1040  *      CALL 770
 1050  *      P=PEEK(769)   PADDLE VALUE 0-255
 1060  *---------------------------------
 1070  MON.PREAD  .EQ $FB1E SUBROUTINE TO READ PADDLE
 1080  *---------------------------------
 1090         .OR $300
 1100  *---------------------------------
 1110  PADDLE.NUMBER       .BS 1
 1120  PADDLE.VALUE        .BS 1
 1130  *---------------------------------
 1140  PADDLE.JITTER.SMOOTHER
 1150         LDA PADDLE.NUMBER
 1160         AND #3       BE CERTAIN 0>=PDL#>=3
 1170         TAX
 1180         JSR MON.PREAD READ PADDLE VALUE
 1190         TYA          SAVE IN A-REG TOO
 1200         CPY PADDLE.VALUE.1
 1210         BEQ .8       SAME, RETURN THIS VALUE
 1220         LDX PADDLE.VALUE.1  DETERMINE PREVIOUS DIRECTION
 1230         CPX PADDLE.VALUE.2
 1240         BCS .2       IT WAS INCREASING
 1250  *---------------------------------
 1260  *   IT WAS DECREASING...
 1270  *---------------------------------
 1280         CPY PADDLE.VALUE.1  WHAT IS CURRENT DIRECTION?
 1290         BCC .6       STILL DECREASING, SO ACCEPT IT
 1300         DEY          SEE IF ONLY 1 STEP
 1310         BCS .5       ...ALWAYS
 1320  *---------------------------------
 1330  *   IT WAS INCREASING...
 1340  .2     CPY PADDLE.VALUE.1  DETERMINE CURRENT DIRECTION
 1350         BCS .6       STILL INCREASING, SO ACCEPT IT
 1360         INY          SEE IF ONLY 1 STEP
 1370  *---------------------------------
 1380  *   REVERSED DIRECTION
 1390  *---------------------------------
 1400  .5     CPY PADDLE.VALUE.1  IF SAME NOW, IGNORE IT
 1410         BNE .6       USE NEW VALUE
 1420         TXA          USE PREVIOUS VALUE
 1430         BCS .8       ...ALWAYS
 1440  *---------------------------------
 1450  *   ACCEPT NEW READING
 1460  *---------------------------------
 1470  .6     STX PADDLE.VALUE.2  OLDEST READING
 1480         STA PADDLE.VALUE.1  PREVIOUS READING
 1490  *---------------------------------
 1500  .8     STA PADDLE.VALUE    CURRENT READING
 1510         RTS
 1520  *---------------------------------
 1530  PADDLE.VALUE.1  .DA #0
 1540  PADDLE.VALUE.2  .DA #0
 1550  *---------------------------------

